<?php

class Migration_Bootstrap extends CI_Migration {

    public function up() {

        $this->create_lotes();
        $this->banners();
        $this->boletos();
        $this->contas_bancarias();
        $this->create_arremantantes();
        $this->create_bid_temp_counter();
        $this->create_categorias();
        $this->create_cidades();
        $this->create_comitentes();
        $this->create_condicoes_pagamentos();
        $this->create_estados();
        $this->create_favoritos();
        $this->create_habilitacoes();
        $this->create_lances();
        $this->create_lances_arrematados();
        $this->create_lances_automaticos();
        $this->create_lances_emails_importados();
        $this->create_lances_pagamentos();
        $this->create_leiloes();
        $this->create_lotes_plus_time();
        $this->create_lotes_tipo();
        $this->create_news_letter();
        $this->create_reset_password();
        $this->create_taxas();
        $this->create_users();
    }

    public function down() {

        $this->dbforge->drop_table('bid_temp_counter');
        $this->dbforge->drop_table('lances');
        $this->dbforge->drop_table('lances_arrematados');
        $this->dbforge->drop_table('lances_pagamentos');
        $this->dbforge->drop_table('lotes');
        $this->dbforge->drop_table('leiloes');
        $this->dbforge->drop_table('users');
        $this->dbforge->drop_table('banners');
        $this->dbforge->drop_table('boletos');
        $this->dbforge->drop_table('contas_bancarias');
        $this->dbforge->drop_table('lances_automaticos');
        $this->dbforge->drop_table('taxas');
        $this->dbforge->drop_table('reset_password');
        $this->dbforge->drop_table('news_letter');
        $this->dbforge->drop_table('tipos_ativos');
        $this->dbforge->drop_table('lotes_plus_time');
        $this->dbforge->drop_table('comitentes');
        $this->dbforge->drop_table('arremantantes');
        $this->dbforge->drop_table('categorias');
        $this->dbforge->drop_table('habilitacoes');
    }

    private function create_lotes_plus_time() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'LOTE_ID' => array(
                'type' => 'INT',
                'null' => false,
                'constraint' => '11'
            ),
            'DATA' => array(
                'type' => 'DATETIME',
                'null' => false,
                'default' => '0000-00-00 00:00:00'
            ),
            'DATA_CAD' => array(
                'type' => 'DATETIME',
                'null' => false,
                'default' => '0000-00-00 00:00:00'
            ),
            'TIME' => array(
                'type' => 'CHAR',
                'null' => false,
                'constraint' => '4'
            ),
            'GROUP' => array(
                'type' => 'INT',
                'null' => false,
                'constraint' => '11'
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('lotes_plus_time', TRUE);
    }

    private function boletos() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'CONTA_ID' => array(
                'type' => 'INT',
                'null' => false,
                'constraint' => '11'
            ),
            'RAZAO' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'default' => '',
                'constraint' => '100'
            ),
            'CNPJ' => array(
                'type' => 'CHAR',
                'null' => false,
                'default' => '',
                'constraint' => '14'
            ),
            'LOGRADOURO' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '100'
            ),
            'CIDADE' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '25'
            ),
            'UF' => array(
                'type' => 'CHAR',
                'null' => false,
                'constraint' => '2'
            ),
            'TAXA' => array(
                'type' => 'DOUBLE',
                'null' => false,
                'default' => '0.00',
                'constraint' => '15,2'
            ),
            'PRAZO' => array(
                'type' => 'CHAR',
                'null' => false,
                'default' => '0',
                'constraint' => '3'
            ),
            'INSTRUCAO_1' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '30'
            ),
            'INSTRUCAO_2' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '30'
            ),
            'INSTRUCAO_3' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'default' => '',
                'constraint' => '30'
            ),
            'DEMONSTRATIVO_1' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'default' => '',
                'constraint' => '30'
            ),
            'DEMONSTRATIVO_2' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'default' => '',
                'constraint' => '30'
            ),
            'DEMONSTRATIVO_3' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'default' => '',
                'constraint' => '30'
            ),
            'CARTEIRA' => array(
                'type' => 'CHAR',
                'null' => false,
                'constraint' => '2'
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('boletos', TRUE);
    }

    private function contas_bancarias() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'BANCO_ID' => array(
                'type' => 'INT',
                'null' => false,
                'constraint' => '11'
            ),
            'AGENCIA' => array(
                'type' => 'CHAR',
                'null' => false,
                'default' => '',
                'constraint' => '15'
            ),
            'AGENCIA_DIGITO' => array(
                'type' => 'CHAR',
                'null' => false,
                'default' => '',
                'constraint' => '2'
            ),
            'CONTA' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '15'
            ),
            'CONTA_DIGITO' => array(
                'type' => 'CHAR',
                'null' => false,
                'constraint' => '3'
            ),
            'TITULAR' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '100'
            ),
            'ADMINISTRADOR' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '100'
            ),
            'PRAZO' => array(
                'type' => 'CHAR',
                'null' => false,
                'constraint' => '3'
            ),
            'INSTRUCAO_1' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '30'
            ),
            'INSTRUCAO_2' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '30'
            ),
            'INSTRUCAO_3' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '30'
            ),
            'DEMONSTRATIVO_1' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '30'
            ),
            'DEMONSTRATIVO_2' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '30'
            ),
            'DEMONSTRATIVO_3' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '30'
            ),
            'CATEIRA' => array(
                'type' => 'CHAR',
                'null' => false,
                'constraint' => '2'
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('contas_bancarias', TRUE);
    }

    private function banners() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'TITLE' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '60'
            ),
            'ACTIVATE' => array(
                'type' => 'CHAR',
                'null' => false,
                'default' => 'S',
                'constraint' => '1'
            ),
            'IMAGE' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'default' => '',
                'constraint' => '255'
            ),
            'LINK' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '255'
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('banners', TRUE);
    }

    private function create_lotes_tipo() {
        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'NAME' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '150'
            ),
            'CATEGORIA_ID' => array(
                'type' => 'INT',
                'null' => false,
                'constraint' => '11'
            ),
            'SLUG' => array(
                'type' => 'VARCHAR',
                'null' => false,
                'constraint' => '150'
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('tipos_ativos', TRUE);
    }

    private function create_lances_automaticos() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'LOTE_ID' => array(
                'type' => 'INT',
                'constraint' => '11',
                'default' => '0',
                'null' => false
            ),
            'USER_ID' => array(
                'type' => 'INT',
                'constraint' => '11',
                'default' => '0',
                'null' => false
            ),
            'ACTIVATE' => array(/* ATIVADO | NAO ATIVADO */
                'type' => 'CHAR',
                'constraint' => '1',
                'default' => 'A',
                'null' => false
            ),
            'VALOR' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => '0.00'
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('lances_automaticos', TRUE);
    }

    private function create_leiloes() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'LABEL' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => ''
            ),
            'COMITENTE_ID' => array(
                'type' => 'INT',
                'constraint' => '11',
                'default' => '0',
                'null' => false
            ),
            'TIPO' => array(/* LEILAO SIMPLES, DIRETO OU GRUPO */
                'type' => 'CHAR',
                'constraint' => '1',
                'default' => 'S',
                'null' => false
            ),
            'STATUS' => array(
                'type' => 'INT',
                'constraint' => '4',
                'default' => '2'
            ),
            'CONDICAO_VENDA_ID' => array(
                'type' => 'INT',
                'constraint' => '11',
                'default' => '1'
            ),
            'TITLE' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => ''
            ),
            'DESCRICAO' => array(
                'type' => 'VARCHAR',
                'constraint' => '255',
                'default' => ''
            ),
            'DATA' => array(
                'type' => 'DATETIME',
                'default' => '0000-00-00 00:00:00',
                'null' => false
            ),
            'IMAGEM' => array(
                'type' => 'VARCHAR',
                'constraint' => '180',
                'default' => ''
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('leiloes', TRUE);
    }

    private function create_comitentes() {
        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'RAZAO' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => ''
            ),
            'CNPJ' => array(
                'type' => 'VARCHAR',
                'constraint' => '14',
                'default' => ''
            ),
            'REPRESENTANTE' => array(
                'type' => 'VARCHAR',
                'constraint' => '30',
                'default' => ''
            ),
            'CPF_REPRESENTANTE' => array(
                'type' => 'VARCHAR',
                'constraint' => '14',
                'default' => ''
            ),
            'LOGRADOURO' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => ''
            ),
            'NUMERO' => array(
                'type' => 'VARCHAR',
                'constraint' => '14',
                'default' => ''
            )
            ,
            'COMPLEMENTO' => array(
                'type' => 'VARCHAR',
                'constraint' => '25',
                'default' => ''
            ),
            'CEP' => array(
                'type' => 'CHAR',
                'constraint' => '8',
                'default' => ''
            ),
            'BAIRRO' => array(
                'type' => 'VARCHAR',
                'constraint' => '45',
                'default' => ''
            ),
            'CIDADE' => array(
                'type' => 'VARCHAR',
                'constraint' => '45',
                'default' => ''
            ),
            'UF' => array(
                'type' => 'CHAR',
                'constraint' => '2',
                'default' => ''
            ),
            'TELEFONE' => array(
                'type' => 'VARCHAR',
                'constraint' => '11',
                'default' => ''
            ),
            'TELEFONE_RECADO' => array(
                'type' => 'VARCHAR',
                'constraint' => '11',
                'default' => ''
            ),
            'CELULAR' => array(
                'type' => 'VARCHAR',
                'constraint' => '11',
                'default' => ''
            ),
            'LOGO' => array(
                'type' => 'VARCHAR',
                'constraint' => '150',
                'default' => ''
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('comitentes', TRUE);
    }

    private function create_arremantantes() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'NOME' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => ''
            ),
            'PROFISSAO' => array(
                'type' => 'VARCHAR',
                'constraint' => '50',
                'default' => ''
            ),
            'NOME_FANTASIA' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => ''
            ),
            'CPF_CNPJ' => array(
                'type' => 'VARCHAR',
                'constraint' => '14',
                'default' => ''
            ),
            'TIPO' => array(
                'type' => 'CHAR',
                'constraint' => '1',
                'default' => ''
            ),
            'RG_IE' => array(
                'type' => 'VARCHAR',
                'constraint' => '14',
                'default' => ''
            ),
            'LOGRADOURO' => array(
                'type' => 'VARCHAR',
                'constraint' => '150',
                'default' => ''
            ),
            'NUMERO' => array(
                'type' => 'VARCHAR',
                'constraint' => '10',
                'default' => ''
            ),
            'COMPLEMENTO' => array(
                'type' => 'VARCHAR',
                'constraint' => '30',
                'default' => ''
            ),
            'BAIRRO' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => ''
            ),
            'CIDADE' => array(
                'type' => 'VARCHAR',
                'constraint' => '60',
                'default' => ''
            ),
            'UF' => array(
                'type' => 'VARCHAR',
                'constraint' => '2',
                'default' => ''
            ),
            'CEP' => array(
                'type' => 'VARCHAR',
                'constraint' => '8',
                'default' => ''
            ),
            'SEXO' => array(
                'type' => 'CHAR',
                'constraint' => '1',
                'default' => ''
            ),
            'NASCIMENTO' => array(
                'type' => 'DATETIME',
                'default' => '0000-00-00 00:00:00',
                'null' => FALSE
            ),
            'TELEFONE' => array(
                'type' => 'VARCHAR',
                'constraint' => '10',
                'default' => ''
            ),
            'TELEFONE_2' => array(
                'type' => 'VARCHAR',
                'constraint' => '10',
                'default' => ''
            ),
            'CELULAR' => array(
                'type' => 'VARCHAR',
                'constraint' => '11',
                'default' => ''
            ),
            'EMAIL' => array(
                'type' => 'VARCHAR',
                'constraint' => '150',
                'default' => ''
            ),
            'EMAIL_ALTERNATIVO' => array(
                'type' => 'VARCHAR',
                'constraint' => '150',
                'default' => ''
            ),
            'CONTATO' => array(
                'type' => 'VARCHAR',
                'constraint' => '50',
                'default' => ''
            ),
            'TELEFONE_CONTATO' => array(
                'type' => 'VARCHAR',
                'constraint' => '11',
                'default' => ''
            ),
            'RG_CONTATO' => array(
                'type' => 'VARCHAR',
                'constraint' => '14',
                'default' => ''
            ),
            'CPF_CONTATO' => array(
                'type' => 'VARCHAR',
                'constraint' => '14',
                'default' => ''
            ),
            'CNH' => array(
                'type' => 'VARCHAR',
                'constraint' => '25',
                'default' => ''
            ),
            'NACIONALIDADE' => array(
                'type' => 'VARCHAR',
                'constraint' => '15',
                'default' => ''
            ),
            'ESTADO_CIVIL' => array(
                'type' => 'VARCHAR',
                'constraint' => '15',
                'default' => ''
            ),
            'INTERESSES' => array(
                'type' => 'VARCHAR',
                'constraint' => '250',
                'default' => ''
            ),
            'NOME_MAE' => array(
                'type' => 'VARCHAR',
                'constraint' => '150',
                'default' => ''
            ),
            'KEY_ACTIVATION' => array(
                'type' => 'VARCHAR',
                'constraint' => '300',
                'default' => ''
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('arrematantes', TRUE);
    }

    private function create_estados() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'NOME' => array(
                'type' => 'VARCHAR',
                'constraint' => '25',
                'default' => ''
            ),
            'UF' => array(
                'type' => 'CHAR',
                'constraint' => '2',
                'default' => '0'
            ),
            'PAIS' => array(
                'type' => 'INT',
                'constraint' => '11',
                'default' => '0'
            ),
            'SLUG' => array(
                'type' => 'VARCHAR',
                'constraint' => '255',
                'default' => ''
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('estados', TRUE);
    }

    private function create_cidades() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'NOME' => array(
                'type' => 'VARCHAR',
                'constraint' => '75',
                'default' => ''
            ),
            'ESTADO' => array(
                'type' => 'INT',
                'constraint' => '11',
                'default' => '0'
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('cidades', TRUE);
    }

    private function create_categorias() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'NAME' => array(
                'type' => 'VARCHAR',
                'constraint' => '25',
                'default' => ''
            ),
            'ORDER' => array(
                'type' => 'INT',
                'constraint' => '11',
                'default' => '0'
            ),
            'SLUG' => array(
                'type' => 'VARCHAR',
                'constraint' => '255',
                'default' => ''
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('categorias', TRUE);
    }

    private function create_condicoes_pagamentos() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'TITLE' => array(
                'type' => 'VARCHAR',
                'constraint' => '50',
                'default' => ''
            )
            ,
            'CONDICAO_PAGAMENTO' => array(
                'type' => 'TEXT'
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('condicoes_pagamentos', TRUE);
    }

    private function create_habilitacoes() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'LEILAO_ID' => array(
                'type' => 'INT',
                'constraint' => '11',
                'null' => false,
                'default' => '0'
            ),
            'USER_ID' => array(
                'type' => 'INT',
                'constraint' => '11',
                'null' => false,
                'default' => '0'
            ),
            'KEY_HASH' => array(
                'type' => 'VARCHAR',
                'constraint' => '300',
                'null' => false,
                'default' => ''
            ),
            'CREATE' => array(
                'type' => 'DATETIME',
                'null' => false,
                'default' => '0000-00-00 00:00:00'
            ),
            'IP' => array(
                'type' => 'VARCHAR',
                'constraint' => '25',
                'null' => false,
                'default' => ''
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('habilitacoes', TRUE);
    }

    private function create_favoritos() {
        
    }

    private function create_lances_emails_importados() {
        
    }

    private function create_news_letter() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'EMAIL' => array(
                'type' => 'VARCHAR',
                'constraint' => '150',
                'null' => false,
                'default' => ''
            ),
            'NAME' => array(
                'type' => 'VARCHAR',
                'constraint' => '150',
                'null' => false,
                'default' => ''
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('news_letter', TRUE);
    }

    private function create_taxas() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'MINIMO' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'null' => false,
                'default' => 0.00
            ),
            'MAXIMO' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'null' => false,
                'default' => 0.00
            ),
            'TAXA' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'null' => false,
                'default' => 0.00
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('taxas', TRUE);
    }

    private function create_reset_password() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'USER_ID' => array(
                'type' => 'INT',
                'constraint' => 11,
                'null' => false
            ),
            'KEY_ACTIVATION' => array(
                'type' => 'VARCHAR',
                'constraint' => 400,
                'null' => false
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('reset_password', TRUE);
    }

    private function create_users() {
        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'auto_increment' => true,
                'constraint' => 11
            ),
            'LOGIN' => array(
                'type' => 'VARCHAR',
                'constraint' => 16,
                
            ),
            'PWD' => array(
                'type' => 'VARCHAR',
                'constraint' => 400,
                'default'=>''
            ),
            'ACTIVATE' => array(
                'type' => 'CHAR',
                'constraint' => '1',
                'default' => 'N'
            ),
            'KEY_ACTIVATION' => array(
                'type' => 'VARCHAR',
                'constraint' => 400,
                'null' => false,
                'default'=>''
            ),
            'TYPE_USER' => array(
                'type' => 'CHAR',
                'constraint' => 5,
                'default' => 'USER' // ADMIN, BASIC
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('users',TRUE);
    }

    private function create_lotes() {
        $obj = $this->dbforge;
        
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'COMITENTE_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'LEILAO_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'NUM_LOTE' => array(
                'type' => 'CHAR',
                'constraint' => '4',
                'default' => '0000',
                'null' => false
            ),
            'TIPO_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'INFO' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => '',
                'null' => false
            ),
            'ABERTURA' => array(
                'type' => 'DATETIME',
                'default' => '0000-00-00 00:00:00',
                'null' => false
            ),
            'FECHAMENTO' => array(
                'type' => 'DATETIME',
                'default' => '0000-00-00 00:00:00',
                'null' => false
            ),
            'VALOR_MINIMO' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => 0.00,
                'null' => false
            )
            ,
            'LANCE_INICIAL' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => 0.00,
                'null' => false
            )
            ,
            'INCREMENTO' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => 0.00,
                'null' => false
            )
            ,
            'COMISSAO' => array(
                'type' => 'INT',
                'constraint' => '11',
                'default' => 1,
                'null' => false
            ),
            'CIDADE' => array(
                'type' => 'INT',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            )
            ,
            'TAGS' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => '',
                'null' => false
            )
            ,
            'RETIRADO' => array(
                'type' => 'CHAR',
                'constraint' => '1',
                'default' => 'N',
                'null' => false
            )
            ,
            'LINK' => array(
                'type' => 'VARCHAR',
                'constraint' => '255',
                'default' => '',
                'null' => false
            )
            ,
            'IMAGENS' => array(
                'type' => 'VARCHAR',
                'constraint' => '200',
                'default' => '',
                'null' => false
            )
            ,
            'DESCRICAO' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => '',
                'null' => false
            ),
            'SUB_DESCRICAO' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => '',
                'null' => false
            ),
            'DESCRICAO_DETALHADA' => array(
                'type' => 'TEXT',
                'default' => '',
                'null' => false
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('lotes',TRUE);
    }

    private function create_bid_temp_counter() {
        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'LOTE_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            )
            ,
            'USER_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'VALOR' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => 0.00,
                'null' => false
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('bid_temp_counter', TRUE);
    }

    private function create_lances() {

        $obj = $this->dbforge;
        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'LOTE_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'LEILAO_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            )
            ,
            'USER_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'VALOR' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => 0.00,
                'null' => false
            ),
            'COMISSAO' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => 0.00,
                'null' => false
            ),
            'TOTAL' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => 0.00,
                'null' => false
            ),
            'CRIADO' => array(
                'type' => 'DATETIME',
                'default' => '0000-00-00 00:00:00',
                'null' => false
            ),
            'ALTERADO' => array(
                'type' => 'DATETIME',
                'default' => '0000-00-00 00:00:00',
                'null' => false
            )
            ,
            'IP' => array(
                'type' => 'varchar',
                'constraint' => 20,
                'default' => '0.0.0',
                'null' => false
            ),
            'TOTAL_COMISSAO' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => 0.00,
                'null' => false
            ),
            'LOGIN' => array(
                'type' => 'VARCHAR',
                'constraint' => '20',
                'default' => '',
                'null' => false
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('lances',TRUE);
    }

    private function create_lances_arrematados() {
        $obj = $this->dbforge;

        $fields = array(
            'ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'LOTE_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'LEILAO_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            )
            ,
            'USER_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'LANCE_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'PAGAMENTO_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'CONDICIONAL' => array(
                'type' => 'CHAR',
                'constraint' => '1',
                'default' => 'N',
                'null' => false
            )
            ,
            'TOTAL' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => 0.00,
                'null' => false
            ),
            'DATAHORA' => array(
                'type' => 'DATETIME',
                'default' => '0000-00-00 00:00:00',
                'null' => false
            )
        );

        $obj->add_key('ID', true);
        $obj->add_field($fields);
        $obj->create_table('lances_arrematados',TRUE);
    }

    private function create_lances_pagamentos() {
        $obj = $this->dbforge;
        $fields = array(
            'PAGAMENTO_ID' => array(
                'type' => 'int',
                'unsigned' => true,
                'auto_increment' => true,
                'null' => false,
                'constraint' => 11
            ),
            'LEILAO_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'TIPO' => array(
                'type' => 'CHAR',
                'constraint' => '10',
                'default' => 0,
                'null' => false
            ),
            'CODES_LANCES' => array(
                'type' => 'VARCHAR',
                'constraint' => '50',
                'default' => '',
                'null' => false
            ),
            'KEY_LOTES' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => '',
                'null' => false
            ),
            'KEY' => array(
                'type' => 'VARCHAR',
                'constraint' => '200',
                'default' => '',
                'null' => false
            ),
            'DATA' => array(
                'type' => 'DATETIME',
                'default' => '0000-00-00 00:00:00',
                'null' => false
            )
            ,
            'NUM_DOC' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => '',
                'null' => false
            ),
            'STATUS' => array(
                'type' => 'CHAR',
                'constraint' => '1',
                'default' => '1',
                'null' => false
            ),
            'NFE_LIBERADO' => array(
                'type' => 'CHAR',
                'constraint' => '1',
                'default' => 'N',
                'null' => false
            ),
            'USER_CAD' => array(
                'type' => 'VARCHAR',
                'constraint' => '100',
                'default' => '',
                'null' => false
            ),
            'CRIADO' => array(
                'type' => 'DATETIME',
                'default' => '0000-00-00 00:00:00',
                'null' => false
            ),
            'ALTERADO' => array(
                'type' => 'DATETIME',
                'default' => '0000-00-00 00:00:00',
                'null' => false
            )
            ,
            'USER_ID' => array(
                'type' => 'int',
                'constraint' => '11',
                'default' => 0,
                'null' => false
            ),
            'VALOR' => array(
                'type' => 'DOUBLE',
                'constraint' => '15,2',
                'default' => 0.00,
                'null' => false
            )
        );

        $obj->add_key('PAGAMENTO_ID', true);
        $obj->add_field($fields);
        $obj->create_table('lances_pagamentos',TRUE);
    }

}
